As a method for controlling electric current of a motor, a vector control is commonly used in which the current of the motor is controlled by separating the current into a q-axis current component contributing to torque and a d-axis current component orthogonal to the q-axis one. A vector controller computes, upon receiving an external command, a command voltage for a motor driving unit which supplies electric power to the motor.
There is a phenomenon that the command voltage exceeds a suppliable voltage of the motor driving unit in the case such as where the external command becomes too large. This phenomenon is called voltage saturation. The higher the rotating speed of the motor, the more the voltage saturation tends to occur. This is because an induced voltage occurring during motor rotation increases in proportion to the rotating speed, resulting in an increase in the terminal voltage as well of the motor to compensate for the increase in the induced voltage with supply voltage. Moreover, in the case of such as a large load and a low power supply voltage, the voltage saturation becomes more easily to occur because a margin of the supply voltage becomes small.
In a state of the voltage saturation, the q-axis current becomes unable to be increased during power running operation, which results in a drop in torque and/or in saturation (wind-up) of integration terms in a current controller, leading to deteriorated static and dynamic characteristics. In addition, during regeneration operation, a large amount of the q-axis current flows that exceeds a command value, which causes an overcurrent, an overvoltage, and an excessive braking torque, leading to deteriorated safety.
As a means of suppressing the voltage saturation, a magnetic-flux weakening control is adopted in which a negative d-axis current is passed to reduce the magnetic flux of a permanent magnet in order to suppress the increase in the induced voltage.
As an example of the conventional magnetic-flux weakening control, a closed-loop magnetic-flux weakening control is adopted in which a means of detecting the voltage saturation is disposed (see Patent Literature 1, for example). This control includes the steps of integrating a signal or an appropriate fixed value which corresponds to the saturation detected with the means of detection, and outputting the thus-integrated value as a d-axis current command to the current controller.
However, if the negative d-axis current continues to be increased, the effect of reducing the voltage will decrease to be low and the voltage turns from decreasing to increasing, after a while. The turning point for the voltage to increase is a critical point of the magnetic-flux weakening control described above. At the critical point, a margin of the motor terminal voltage reaches the maximum value. That is, this brings about the state where the flowable q-axis current and the outputtable torque reach their maximum values (the maximum torque that the motor can output is sometimes referred to as the limit torque, hereinafter).
The limit torque is not constant, but varies in accordance with the state of the motor. Because a margin of the motor terminal voltage becomes small with increasing induced voltage, the limit torque decreases with increasing rotation number. For this reason, there are cases where the torque outputtable in a low speed region cannot be output in a high speed region even under the magnetic-flux weakening control.
When torque larger than the limit torque is tried to output, this leads to the state of the voltage saturation which causes a torque follow-up error and wind-up, resulting in an unstable control and deteriorated characteristics. Moreover, when the closed-loop magnetic-flux weakening control described above is adopted in the state of the voltage saturation, the d-axis current command diverges toward the negative direction, resulting in an unstable control.
Patent Literature 2 is an example of conventional technologies for addressing the output limit. FIG. 14 is a block diagram of a controller of a motor according to the conventional technology described in Patent Literature 2. The controller is equipped with current vector controller 103, saturation detector 904, saturation integrator 905, d-axis current upper-limit computing unit 108, d-axis current command limiter 109, target command limit computing unit 914, and target command limiter 110. Current vector controller 103 controls the current of motor 101 in accordance with torque command τ0* from the outside. Saturation detector 904 detects the presence or absence of the voltage saturation based on voltage commands vd* and vq* from current vector controller 103 to motor driving unit 102. Saturation integrator 905 performs an integration operation based on a saturation detection signal output from saturation detector 904 so as to generate magnetic-flux weakening current command ids0* that serves as a negative d-axis current command. D-axis current upper-limit computing unit 108 and d-axis current command limiter 109 provide a setting of negative upper limit idslmt of the magnetic-flux weakening current command, based on both suppliable voltage Vc of motor driving unit 102 and rotating speed ω of motor 101. Target command limit computing unit 914 provides a setting of limit torque τlmt* based on Vc, ω, and idslmt described above.
The configuration described above allows the magnetic-flux weakening control to suppress the voltage saturation and causes external torque command τ0* to be limited to limit torque τlmt* outputtable from the motor, which results in the elimination of the voltage saturation over the entire operation region. In addition, the control allows magnetic-flux weakening current command ids* to be limited to upper limit idslmt of the magnetic-flux weakening current command for obtaining limit torque τlmt*, which prevents the d-axis current command from diverging.
However, in the method according to Patent Literature 2, limit torque τlmt* outputtable from motor 101 is computed from voltage Vc suppliable from motor driving unit 102, rotating speed ω of motor 101, and negative upper limit idslmt of the magnetic-flux weakening current command. The computation is performed using a computation expression which includes inherent constants of the motor, such as inductance. For this reason, limit torque τlmt* cannot be correctly computed in the presence of variations of inductance attributed to the operation state of the motor and/or motor-to-motor unevenness in the motor constants.
When, limit torque τlmt* is set larger than the actual limit torque due to the computation error, the current control is performed based on torque command τ* larger than the actual limit torque, so that the voltage saturation cannot sometimes be eliminated.
Conversely, when limit torque τlmt* is set smaller than the actual limit torque, torque command τ* is excessively limited, so that adequate torque cannot sometimes be obtained.